home *** CD-ROM | disk | FTP | other *** search
/ 3D GFX / 3D GFX.iso / amiutils / i_l / irit5 / irit / inptprsg.h < prev    next >
C/C++ Source or Header  |  1995-12-30  |  3KB  |  74 lines

  1. /*****************************************************************************
  2. *   "Irit" - the 3d (not only polygonal) solid modeller.             *
  3. *                                         *
  4. * Written by:  Gershon Elber                Ver 0.2, Mar. 1990   *
  5. ******************************************************************************
  6. * General, Visible to others, definitions for the Input Parser module.         *
  7. *****************************************************************************/
  8.  
  9. #ifndef    INPT_PRSR_GH
  10. #define    INPT_PRSR_GH
  11.  
  12. /*****************************************************************************
  13. * Error    numbers    as located during the parsing process:                 *
  14. *****************************************************************************/
  15. typedef enum {
  16.     IPE_NO_ERR = 0,
  17.  
  18.     IP_ERR_WRONG_SYNTAX,
  19.     IP_ERR_PARAM_EXPECT,
  20.     IP_ERR_ONE_OPERAND,
  21.     IP_ERR_TWO_OPERAND,
  22.     IP_ERR_STACK_OV,
  23.     IP_ERR_PARAM_MATCH,
  24.     IP_ERR_UNDEF_TOKEN,
  25.     IP_ERR_UNDEF_FUNC,
  26.     IP_ERR_NAME_TOO_LONG,
  27.     IP_ERR_PARAM_FUNC,
  28.     IP_ERR_NO_PARAM_FUNC,
  29.     IP_ERR_STR_TOO_LONG,
  30.  
  31. /*****************************************************************************
  32. * Error    as located during the evaluation process:                 *
  33. *****************************************************************************/
  34.  
  35.     IE_ERR_FATAL_ERROR,
  36.     IE_ERR_DIV_BY_ZERO,
  37.     IE_ERR_NO_OBJ_METHOD,
  38.     IE_ERR_TYPE_MISMATCH,
  39.     IE_ERR_ASSIGN_LEFT_OP,
  40.     IE_ERR_MIXED_OBJ,
  41.     IE_ERR_IP_OBJ_UNDEFINED,
  42.     IE_ERR_NO_ASSIGNMENT,
  43.     IE_ERR_FP_ERROR,
  44.     IE_ERR_NUM_PRM_MISMATCH,
  45.     IE_ERR_MAT_POWER,
  46.     IE_ERR_FREE_SIMPLE,
  47.     IE_ERR_MODIF_ITER_VAR,
  48.     IE_ERR_BOOLEAN_ERR,
  49.     IE_ERR_OUT_OF_RANGE,
  50.     IE_ERR_DATA_PRSR_ERROR,
  51.     IE_ERR_USER_FUNC_NO_RETVAL,
  52.     IE_ERR_INCOMPARABLE_TYPES,
  53.     IE_ERR_ONLYEQUALITY_TEST,
  54.     IE_ERR_IF_HAS_NO_COND,
  55.     IE_ERR_IP_USERFUNC_DUP_VAR
  56. } InptPrsrEvalErrType;
  57.  
  58. /*****************************************************************************
  59. * The global (visible to others) function prototypes:                 *
  60. *****************************************************************************/
  61. int InputParser(void);
  62. /* If the above returns NULL object the following might be called to find    */
  63. /* What went wrong (In the parsing stage, or in the evaluation stage.         */
  64. InptPrsrEvalErrType InptPrsrParseError(char **Message);
  65. InptPrsrEvalErrType InptPrsrEvalError(char **Message);
  66.  
  67. void FileInclude(char *FileName);  /* Used to insert files on include stack. */
  68. void FlushToEndOfExpr(int FlushStdin);
  69.  
  70. void InptPrsrDebugFuncLevel(int DebugFuncLevel);
  71. void InptPrsrEchoSource(int EchoSource);
  72.  
  73. #endif    /* INPT_PRSR_GH */
  74.